home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / DATABASE / ZODIAC5.ZIP;1 / ZODIAC5.PRG
Encoding:
Text File  |  1993-03-20  |  4.0 KB  |  150 lines

  1. /* AUTHOR: LOUIS HEMMI
  2.    SYSTEM: LOUPHONE
  3.    DATE: 01/89 (UPDATE)
  4.    DATE: 03/93 UPDATE FOR CLIPPER 5.x. USE ARRAY FOR ZODIAC SIGNS
  5.    --------------------------------------------------------------
  6.    CLIPPER 5 switches - /w/a/n
  7. */
  8.  
  9. FUNCTION MAIN
  10.  
  11. /* To demonstrate and verify, feed each date of the year into
  12.    the ZODIAC function and show each date and sign. Direct output
  13.    simultaneously to the screen and to a file called audit.doc
  14. */
  15.  
  16.   LOCAL mProcDate
  17.   LOCAL mDATE := DATE()
  18.  
  19.   SETCOLOR("W+/B,GR+,B")
  20.   CLEAR
  21.   mProcDate := DATE()
  22.  
  23.   set printer to audit.doc  // redirect to file to verify program
  24.   set printer on            // open the audit.doc file
  25.  
  26.   DO WHILE MONTH(mProcDate) <= 12 .AND. DAY(mProcDate <= 31)
  27.                                                  // end of current year
  28.      ? mProcDate, " ÕÕ ", ZODIAC(mProcDate)     // display/file results
  29.      mProcDate := mProcDate + 1  // increment day
  30.   ENDDO
  31.  
  32.   set printer to            //  stop redirection
  33.   set printer off           //  close the file
  34.  
  35. //   if you want to test interactively, or just find out the sign
  36.  
  37. //   DO WHILE LASTKEY() # 27
  38. //     @10,10 GET mDATE
  39. //     READ
  40. //     @12,00 SAY ZODIAC(mDATE)
  41. //   ENDDO
  42.  
  43. RETURN (NIL)
  44.  
  45.  
  46.  
  47. FUNCTION   ZODIAC
  48. PARAMETER  ZDATE     // ZSIGN IS DATE()
  49.  
  50. LOCAL ZSIGN,SignList // ZSIGN IS RETURNED SIGN , SIGNLIST IS ARRAY
  51. LOCAL I
  52.  
  53.  
  54. SignList := {"Aries",;
  55. "Taurus",;
  56. "Gemini",;
  57. "Cancer",;
  58. "Leo",;
  59. "Virgo",;
  60. "Libra",;
  61. "Scorpio",;
  62. "Sagittarius",;
  63. "Capricorn ",;
  64. "Aquarius ",;
  65. "Pisces"}       // ESTABLISH LITERAL ARRAY OF 12 ELEMENTS
  66.  
  67. // list of THE ASTROLOGICAL SIGNS
  68.  
  69.   DO CASE
  70.      *
  71.      CASE MONTH(ZDATE) = 1 .AND. DAY(ZDATE) <= 19
  72.           Zsign := SignList[10]
  73.      *
  74.      CASE MONTH(ZDATE) = 1 .AND. DAY(ZDATE) >= 20
  75.           Zsign := SignList[11]
  76.      *
  77.      CASE MONTH(ZDATE) = 2 .AND. DAY(ZDATE) <= 18
  78.           Zsign := SignList[11]
  79.      *
  80.      CASE MONTH(ZDATE) = 2 .AND. DAY(ZDATE) >= 19
  81.           Zsign := SignList[12]
  82.      *
  83.      CASE MONTH(ZDATE) = 3 .AND. DAY(ZDATE) <= 20
  84.           Zsign := SignList[12]
  85.      *
  86.      CASE MONTH(ZDATE) = 3 .AND. DAY(ZDATE) >= 21
  87.           Zsign := SignList[1]
  88.      *
  89.      CASE MONTH(ZDATE) = 4 .AND. DAY(ZDATE) <= 19
  90.           Zsign := SignList[1]
  91.      *
  92.      CASE MONTH(ZDATE) = 4 .AND. DAY(ZDATE) >= 20
  93.           Zsign := SignList[2]
  94.      *
  95.      CASE MONTH(ZDATE) = 5 .AND. DAY(ZDATE) <= 20
  96.           Zsign := SignList[2]
  97.      *
  98.      CASE MONTH(ZDATE) = 5 .AND. DAY(ZDATE) >= 21
  99.           Zsign := SignList[3]
  100.      *
  101.      CASE MONTH(ZDATE) = 6 .AND. DAY(ZDATE) <= 20
  102.           Zsign := SignList[3]
  103.      *
  104.      CASE MONTH(ZDATE) = 6 .AND. DAY(ZDATE) >= 21
  105.           Zsign := SignList[4]
  106.      *
  107.      CASE MONTH(ZDATE) = 7 .AND. DAY(ZDATE) <= 22
  108.           Zsign := SignList[4]
  109.      *
  110.      CASE MONTH(ZDATE) = 7 .AND. DAY(ZDATE) >= 23
  111.           Zsign := SignList[5]
  112.      *
  113.      CASE MONTH(ZDATE) = 8 .AND. DAY(ZDATE) <= 22
  114.           Zsign := SignList[5]
  115.      *
  116.      CASE MONTH(ZDATE) = 8 .AND. DAY(ZDATE) >= 23
  117.           Zsign := SignList[6]
  118.      *
  119.      CASE MONTH(ZDATE) = 9 .AND. DAY(ZDATE) <= 22
  120.           Zsign := SignList[6]
  121.      *
  122.      CASE MONTH(ZDATE) = 9 .AND. DAY(ZDATE) >= 23
  123.           Zsign := SignList[7]
  124.      *
  125.      CASE MONTH(ZDATE) = 10 .AND. DAY(ZDATE) <= 22
  126.           Zsign := SignList[7]
  127.      *
  128.      CASE MONTH(ZDATE) = 10 .AND. DAY(ZDATE) >= 23
  129.           Zsign := SignList[8]
  130.      *
  131.      CASE MONTH(ZDATE) = 11.AND. DAY(ZDATE) <= 21
  132.           Zsign := SignList[8]
  133.      *
  134.      CASE MONTH(ZDATE) = 11.AND. DAY(ZDATE) >= 22
  135.           Zsign := SignList[9]
  136.      *
  137.      CASE MONTH(ZDATE) = 12 .AND. DAY(ZDATE) <= 21
  138.           Zsign := SignList[9]
  139.      *
  140.      CASE MONTH(ZDATE) = 12 .AND. DAY(ZDATE) >= 22
  141.           Zsign := SignList[10]
  142.      *
  143.      OTHERWISE
  144.           Zsign := "Not Defined "
  145.   ENDCASE
  146.           Zsign =Zsign + space(11-len(Zsign))
  147.  
  148. RETURN (ZSIGN)
  149. ************* END OF FUNCTION ZODIAC(MDATE)    *******
  150.